
export default function(axiosIns,config){
    //定义一个空的对象用来接收重写后的api[key]
    let obj = {};
    //获取config中api配置对象
    const {api={}} = config;
    //使用for in遍历该对象获取属性名并放到另一个对象中且重写每个属性名的属性值 最后将该对象返回
    for(let key in api){
        //从api属性中寻找配置 url是请求路径 method是请求方法 configData是请求参数
        let {url="",method="get",configData={}} = api[key];
        //给obj添加每一个api的方法
        obj[key] = async function(){
            //定义初始请求返回值
            let body = ""
            //根据method的不同发送不同的请求
            switch (method.toLowerCase()){
                case "get":
                case "delete":
                    body = await axiosIns({
                    url,
                    method,
                });
                break;
                case "put":
                case "post":
                case "patch":
                    body = await axiosIns({
                        url,
                        method,
                        configData
                    })
            }
            return body;
        }
    }
    return obj
}